Query optimization is typically utilized in relational database management systems for purposes of determining the most efficient way to execute a given query by considering different approaches. Query optimization can be performed after queries are submitted by users to a database server, for example. In some instances, query optimization can involve determining an optimal approach for executing a query based on, for example, accessing the data being queried in different ways, through different data-structures, and in different orders. Each approach for executing a query can require a different amount of processing time. In some instances, processing times of the same query can range from a fraction of a second to hours, depending on the approach selected. Typically, the optimal approach for executing the query is the one that requires the least amount of processing time.